1. Field of the Invention
This invention relates to a method of interpolation in a matrix. The invention is particularly, though not exclusively, concerned with interpolating between stored values in a memory matrix, for example, for a controller for an electrical machine.
2. Description of Related Art
A reluctance machine is a form of electrical machine, consisting of two main parts: the stator, which has salient poles with coils around them which typically carry unidirectional current; and the rotor, which has salient poles but no windings or permanent magnets.
The combined control and power switching electronics, and the reluctance machine are commonly referred to as a switched reluctance (SR) drive system. The power electronics typically consist of two switches and two diodes per phase supplied from a DC source or a rectified AC supply. The switching of these devices has to be synchronized to the position of the rotor for the machine to operate correctly. To achieve this, a position sensor, usually having a moving part mounted on the rotor shaft of the SR machine, is used to generate an angular rotor position signal which is fed back to the control electronics to produce the firing signals for the power devices. A more detailed description of the switched reluctance machine and its control and power electronics can be found in "The Characteristics, Design and Applications of Switched Reluctance Motors and Drives" by Stephenson and Blake, presented at the PCIM '93 Conference and Exhibition at Nurnberg, Germany, Jun. 21-24, 1993, which is incorporated herein by reference.
Increasingly, in low-cost, high-volume applications, the control electronics are based around an application specific integrated circuit (ASIC) which has a microprocessor embedded in it.
The control law according to which the SR machine is operated will interpret a specific torque demand on the machine to maintain the required machine output. Typically, the controller inputs are the torque demand, or possibly a speed demand in a closed-loop speed control system, and the actual machine speed derived from the rotor position signal. In response, the controller provides one of a selection of control parameters as outputs for controlling the machine. The outputs are commonly an ON command, an OFF command, a freewheel (FW) command and a CHOP command. While it is possible, in some applications, to program the controller with the control law in order to compute the appropriate output for a given input in real-time, a controller will often employ a look-up table of set outputs for given inputs instead. One form of look-up table comprises a matrix of coordinates in which the inputs of torque and speed are used as row and column addresses for accessing an array of stored parameter values. In order to minimize the amount of space given over to the matrix, a sparse matrix is sometimes used in which less than a complete set of outputs is available for a given set of inputs, i.e. there are more discrete combinations of inputs than address locations. In this circumstance it is necessary to interpolate between the stored parameter values to achieve smooth control. A sparse matrix may be arranged either as a regularly spaced set of parameter values or as an irregularly spaced set of parameter values which are clustered around the values of the more common operating conditions.
As opposed to determining a parameter value by accessing it in a look-up table, interpolation is a real-time processing activity. Therefore, there are situations in which the speed of interpolation is a limiting factor on the speed of response of the system to an input. It is desirable to be able to reduce the processing time taken by interpolation in order to increase the responsiveness of the drive.